package ch8;

import javax.management.RuntimeErrorException;

public class Student {
	//学生名称
	private String name;
	
	private double computer;

	public Student() {
		super();
		
	}

	public Student(String name, double computer) {
		super();
		this.name = name;
		this.computer = computer;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getComputer() {
		return computer;
	}

	public void setComputer(double computer) {
		this.computer = computer;
	}
	
	/**
	 * 显示学生信息方法
	 * @throws Exception 
	 */
	public void showInfo() throws Exception {//在方法内部如果有异常抛出，则需要在方法定义时，进行异常的声明;声明的异常必须是声明的异常或是抛出异常的父类
		if (computer<0) {
			//检查异常必须进行处理，在方法定义时一般进行异常的声明
			throw new Exception("课程成绩不能为负数");//在方法编写时，可以使用throw抛出一个异常对象，如果是抛出一个检查异常，则需要进行处理
			
		}
		System.out.println("姓名："+name+"成绩："+computer);
	}
	
	//运行异常可以不声明；声明异常时可以声明多个异常，有多个父子关系的异常也可以声明
	public void showInfo2() throws RuntimeException,IllegalAccessError{
			
		if (computer<0) {
			//RuntimeException运行时异常，可以不进行处理
			throw new RuntimeException("课程成绩不能为负数");//在方法编写时，可以使用throw抛出一个异常对象，如果是抛出一个检查异常，则需要进行处理
			
		}
		
		if(computer>100) {
			throw new IllegalAccessError("成绩不能高于100");
		}
		
		System.out.println("姓名："+name+"成绩："+computer);
	}
	

	
	public static void main(String[] args) {
		Student student = new Student("Jack",-10);
		try {
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		student.showInfo2();
	}
		

}
